home *** CD-ROM | disk | FTP | other *** search
-
- OUTER
-
- Copyright 1986
- by
- Ron Bemis
- FidoNode 151/104
-
- OUTER is a program written in the C programming language to support the
- O)utside command in Fido. OUTER allows a remote user to run external programs
- that the sysop selects. The sysop has complete control over what programs
- are usable by users at each privilege level, and a log of all activity is
- maintained. Starting with version 1.17, OUTER requires that the device driver
- OUTER.SYS be installed. That is, DEVICE=OUTER.SYS must be in the CONFIG.SYS
- file. OUTER.SYS is supplied with OUTER. Also highly suggested but not
- required is the IBMAUX device driver (DEVICE=IBMAUX1.SYS) which will allow
- you to use the CTTY AUX1 command to redirect all input/output to both the
- console and com port in place of CTTY COM1. IBMAUX also filters ^C from the
- com port, making it impossible for a user to ^C their way to your DOS.
-
- CALLING SYNTAX:
-
- OUTER { /1 | /2 | /t } [ time/l ] [ pin/v ] [ /s ] [task/i]
-
- The parameters have exactly the same meaning as those used with Fido with the
- exception of /s. /s is used to run the program with sysop privileges without
- the need to log into Fido in test mode only to set up LASTUSER.BBS. Use
- "OUTER /t /s" for testing purposes from the console. Typing OUTER with no
- parameters will give a quick summary of the above syntax.
-
- FILES USED BY OUTER
-
- OUTER.WEL - a text file containing a welcome message to be displayed when
- the user first enters OUTER.
-
- OUTER.HLP - a text file containing information to be displayed when the user
- enters the "?" command.
-
- SYSOP.LOG - updated by OUTER. Added will be the user's name, the time he/she
- started OUTER; the command and starting time of each service executed; the
- time of return from each service, and the time OUTER was exited. If this is
- inappropriate for your situation, use DEBUG or NORTON UTILITIES to change all
- references of "Sysop.Log" to "Outer.Log" in the OUTER.EXE file.
-
- OUTER.BBS - a text file containing the list of commands OUTER can execute.
- Each line has the form:
-
- Privel Command_letter Command_to_execute; Description_given_to_user
-
- Privil is the privilege level required for access. This may be any one of
- the privilege levels: Twit, Disgrace, Normal, Privel, Extra, or Sysop. Users
- below the required level will neither see nor be able to execute the command.
- Case is unimportant, and only the first letter of the privilege level is
- required. This should be the first character of the line, and the privilege
- level letter or word should be followed by at least one space to separate it
- from the Command_letter.
-
- Command_letter is the command by which the user will select this entry.
- Again, upper or lower case are the same, and a full word may be specified,
- although only the first character is used. Letters or numbers or even special
- symbols are okay, but "0" and "?" are reserved. Using letters in alphabetical
- order seems to be the easiest to maintain, and insures that users at lower
- access levels will not notice "gaps" in available services. This also must
- be followed by at least one space to separate it from the Command_to_execute.
-
- Command_to_execute is the command that will be executed by selecting the
- command "C". This can be a DOS internal or external command, complete with
- parameters and/or switches exactly as if it were typed at the command line.
- This command will not be visible to the user. Version 2.0 and above has been
- fixed so that the command is not capitalized before being passed to DOS.
- Be sure to follow Command_to_execute with a semicolon (";") to separate it
- from the Description_given_to_user.
-
- Description_given_to_user is self-explanatory.
-
- EXECUTION
-
- The user of Outer will see a menu like this:
-
- Ron Bemis has 13 minutes left outside Fido
-
- A) Examine archive (*.ARC) files
- M) Check for your messages in all areas
- N) Search for new files added to this BBS
- Q) Show the approximate time
- U) Upgrade me! (SysOp approval only)
- 0) Quit OUTER
- ?) Help with OUTER
-
- Your selection?
-
- The user's time limit in OUTER is determined by the sysop in the RUNBBS.BAT
- file. The OUTER time limit switche (/l) has the same meaning as that used
- on the FIDO command line.
-
- As in Fido, the /l value is doubled for PRIVEL and EXTRA levels, and halved
- for TWIT levels. Users at the SYSOP level are allowed a per-session time of
- 4 times the /l value.
-
- When OUTER starts, LASTUSER.BBS is read to determine the user's name and
- privilege level. USER.BBS is searched for the user's name, and the FULL
- time limit for the OUTER session is added to his/her daily time used. If
- and when the user exits OUTER, any time left is subtracted from this time.
- So, if the user hangs up while in OUTER, he is "charged" the full OUTER
- time limit. This keeps users by hogging the system by causing Fido to
- disallow access when their daily time limit is exceeded.
-
- Checks are made to ensure that OUTER will not overrun a scheduled event before
- an actual time limit is established. If the time before an event is less than
- 3 minutes, the user is not allowed access to OUTER. If more than 3 minutes,
- but less than the usual time limit, the user is notified than a scheduled
- event is approaching, and that his time limit has been reduced.
-
- OUTER has its own carrier detect "watchdog" function built in. The use of the
- WATCHDOG program is not necessary when using OUTER. This built-in watchdog
- uses the parameters given (/1 or /2 and the /V) to monitor the presence of
- carrier detect. The use of the /t parameter disables this feature - allowing
- testing from the console.
-
- If a user hangs up while in OUTER, or the time limit expires, the system will
- boot and the user will be "charged" the full amount of time allotted.
-
- In a multi-user environment, it is not desirable for the system to re-boot
- when one user hangs up or times out. Ray Gwinn at 109/639 is working on a
- solution to this problem. For now, if you use the /t parameter on the command
- line, OUTER will never make the system boot. The program will however, exit
- at any time the main menu is entered and the time left is less than or equal
- to 0. (i.e. whenever it would normally say "... has 0 minutes left outside
- Fido".) This is not very foolproof - if someone hangs up, the computer will
- remain in OUTER until someone else calls, at which time the program will most
- likely have timed out; when the new users returns to the menu, the program
- will then exit to the RUNBBS.BAT file.
-
- A user is prevented from "breaking out" of OUTER - control-C is disabled.
- In an external program, control-C will work as expected, returning control
- back to OUTER. This is not the case when using IBMAUX - it filters ALL
- control-C characters from the com port. This is very important during the
- second or two that it takes to load OUTER.EXE. If you choose to use CTTY
- COM1 (or COM2), there is a second or two after that command while your
- computer is loading OUTER.EXE that you are vulnerable to the user typing
- control-C and getting the "Terminate batch job (Y/N)?" prompt. I'm sure
- that if the user was banging on the control-C key, he would not type "N"
- in answer to this question! Moral of the story? Use IBMAUX.
-
- DEFAULT SWITCH VALUES
-
- Session Time - 20 minutes (20/l)
- CD Mask - 16 (16/v) - generally not the one needed!
- Com port - COM1: (/1)
-
- ERRORLEVELS RETURNED
-
- 0 = normal termination, user typed "0"
- 1 = time limit exceeded (with /t parameter)
- OR scheduled event within 3 minutes
- 2 = parameter error on command line
- 3 = a file was not found (Lastuser.bbs, Outer.bbs, Sched.bbs, User.bbs)
- 4 = file error (LASTUSER.BBS not in USER.BBS)
- 5 = OUTER.SYS not installed
-
- OUTER must be invoked from the RUNBBS.BAT file by setting it to run when Fido
- exits with the O) ERRORLEVEL. This ERRORLEVEL is set with Fido's /a switch.
-
- OUTER is distributed as Shareware. You may distribute it to other Fido SysOps
- and run it yourself to see if you would like to use it regularly. Businesses,
- for-profit organizations, and corporations must register this program. If you
- decide to use OUTER on a regular basis, please register by sending $20 to:
-
- Ron Bemis
- GTE Gov't Systems
- 400 Park Plaza
- Research Triangle Park, NC 27709
-
- Those who register will receive the next update via file attach as soon as
- it is released. They will also be the first to preview other utilities from
- 151/104.
-
- Other sysop utilities and programs to run from within OUTER are constantly
- being developed and made available on 151/104. Comments and suggestions are
- always welcome.
-
- Enjoy.
-
- Ron Bemis
- Sysop 151/104
- 919-942-9267